// pages/profile/index.ts
Page({
  /**
   * 页面的初始数据
   */
  data: {
    nickName: '',
    avatar: '',
  },

  async onChooseAvatar(e) {
    // 临时图片地址
    const tempAvatarUrl = e.detail.avatarUrl
    // 上传
    const res = await wx.http.uploadFile(tempAvatarUrl)
    this.setData({
      avatar: res.data.url,
    })
  },

  async onBlurOfNickName(e) {
    console.log('[ e ] >', e)

    // 先判断有没有改变，如果没有改变，直接终止
    if (e.detail.value === this.data.nickName) return

    await wx.http({
      method: 'PUT',
      url: '/userInfo',
      data: {
        nickName: e.detail.value,
      },
    })

    wx.utils.toast('昵称更新成功！')
  },

  async getUserInfo() {
    const { data: userInfo } = await wx.http({
      url: '/userInfo',
    })

    this.setData({
      nickName: userInfo.nickName,
      avatar: userInfo.avatar,
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    this.getUserInfo()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {},

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {},

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {},

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {},
})
